<?php

require_once("evalable.php");

class SyntaxObject extends Evalable {

    var $fn = null;
    var $t = null;

    function SyntaxObject($fn, $t) {
        $this->fn = $fn;
        $this->t = $t;
    }

    function repr() {
        return "<built-in syntax " . $this->fn . ">";
    }

    function lispeval($env, $args = null) {
        return $this->t->{$this->fn}($env, $args);
    }

    function nullp() {
        return new LogicObject(0);
    }

}